package com.ad.pet.app.account;

import com.ad.pet.common.structure.mvp.AbsView;
import com.ad.pet.common.structure.mvp.BasePresenter;
import com.ad.pet.models.remote.account.Account;
import com.ad.pet.models.remote.account.AccountPet;
import com.ad.pet.models.remote.account.pet.PetCateFirst;
import com.ad.pet.models.remote.account.pet.PetColor;

import java.io.File;
import java.util.List;

/**
 * Created by SEELE on 2018/4/2.
 */

public interface AccountContract {
    interface Presenter extends BasePresenter<View> {

        void loginOut(String accToken);
        void getUserInfo ();
        void getPetInfo(String petId);
        void uploadHead(File file,String type);
        void upPetInfo(String pet_headimg, String pet_name, String sex, String birthday, String category_id, String weight, String is_sterilisate, String color_id,String pet_id);
        void getPetCategory();
        void getPetColor();
        void deletePet(String petId);
        void upPersonInfo(String user_headimg,String user_name,String nick_name,String sex,String birthday,String user_tel);

    }

    interface View extends AbsView {
        void loginOutSuccess();
        void getUserInfoSuccess (Account account);
        void getPetInfoSuccess(AccountPet accountPublic);
        void uploadHead(String user);
        void upPetInfoSuccesss();
        void getPetCategorySuccess(List<PetCateFirst> petCateFirst);
        void getPetColorSuccess(List<PetColor> petColor);
        void deletePetSuccess();
        void upPersonInfoSuccess();
    }
}
